<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>PluginContext - Documentation</title>

    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>

<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
  <div class="navicon"></div>
</label>

<label for="nav-trigger" class="overlay"></label>

<nav>
    <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Constants.html">Constants</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Extension.html">Extension</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ExtensionAction.html">ExtensionAction</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="FrameworkState.html">FrameworkState</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Minima.html">Minima</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.addService">addService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getDefaultService">getDefaultService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getExtensions">getExtensions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getPlugin">getPlugin</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getPlugin">getPlugin</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getPlugins">getPlugins</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getPlugins">getPlugins</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.getServices">getServices</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.removeService">removeService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.start">start</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Minima.html#.stop">stop</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Plugin.html">Plugin</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.assertResolved">assertResolved</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.assertUninstalled">assertUninstalled</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.doStart">doStart</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.doStop">doStop</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.loadClass">loadClass</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.resolveActivator">resolveActivator</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.start">start</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.stop">stop</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Plugin.html#.uninstall">uninstall</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="PluginConfiguration.html">PluginConfiguration</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginConfiguration.html#.parseBasic">parseBasic</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginConfiguration.html#.parseDependencies">parseDependencies</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginConfiguration.html#.parseExtensions">parseExtensions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginConfiguration.html#.parseServices">parseServices</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="PluginContext.html">PluginContext</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addExtension">addExtension</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addExtensionChangedListener">addExtensionChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addExtensionChangedListener">addExtensionChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addFrameworkStateChangedListener">addFrameworkStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addPluginStateChangedListener">addPluginStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addPluginStateChangedListener">addPluginStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addService">addService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addServiceChangedListener">addServiceChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.addServiceChangedListener">addServiceChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.dispose">dispose</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.getDefaultService">getDefaultService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.getExtensions">getExtensions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.getServices">getServices</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.installPlugin">installPlugin</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeExtension">removeExtension</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeExtensionChangedListener">removeExtensionChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeExtensionChangedListener">removeExtensionChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeFrameworkStateChangedListener">removeFrameworkStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removePluginStateChangedListener">removePluginStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removePluginStateChangedListener">removePluginStateChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeService">removeService</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeServiceChangedListener">removeServiceChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.removeServiceChangedListener">removeServiceChangedListener</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.start">start</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginContext.html#.stop">stop</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="PluginMetadata.html">PluginMetadata</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginMetadata.html#.markFailed">markFailed</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginMetadata.html#.markResolvable">markResolvable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="PluginMetadata.html#.markSuccess">markSuccess</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="PluginState.html">PluginState</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ResolveState.html">ResolveState</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ServiceAction.html">ServiceAction</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ServiceRegistry.html">ServiceRegistry</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Version.html">Version</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Version.html#.compare">compare</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Version.html#.parse">parse</a></span></li>
</nav>

<div id="main">
    
    <h1 class="page-title">PluginContext</h1>
    

    




<section>

<header>
    
        <h2>
        PluginContext
        </h2>
        
    
</header>

<article>
    <div class="container-overview">
    
        
<div class="section-method">

    

    <h4 class="name" id="PluginContext"><span class="type-signature"></span>new PluginContext<span class="signature">()</span><span class="type-signature"></span></h4>

    



<div class="description">
    插件上下文，用户经常需要与该类交互，通过该类获取插件实例、服务、扩展、事件等
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line10">line 10</a>
    </li></ul></dd>
    

    

    

    
</dl>























</div>
    
    </div>

    

    

    

     

    

    
        <h3 class="subsection-title">Members</h3>

        
            
<div class="section-members">
<h4 class="name" id=".plugin"><span class="type-signature">(static, readonly) </span>plugin<span class="type-signature"> :<a href="Plugin.html">Plugin</a></span></h4>




<div class="description">
    获取关联的插件
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line76">line 76</a>
    </li></ul></dd>
    

    

    

    
</dl>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><code><a href="Plugin.html">Plugin</a></code></span>


        </li>
    </ul>





</div>

        
    

    
        <h3 class="subsection-title">Methods</h3>

        
            
<div class="section-method">

    

    <h4 class="name" id=".addExtension"><span class="type-signature">(static) </span>addExtension<span class="signature">(extension)</span><span class="type-signature"></span></h4>

    



<div class="description">
    注册扩展
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line172">line 172</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>extension</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Extension.html">Extension</a></code></span>


            
            </td>

            

            

            <td class="description last">
                扩展实例
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addExtensionChangedListener"><span class="type-signature">(static) </span>addExtensionChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加扩展变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line295">line 295</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>extensionChangedListener(extension, action) {
    // ......
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addExtensionChangedListener"><span class="type-signature">(static) </span>addExtensionChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加扩展变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line258">line 258</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>extensionChangedListener(extension, action) {
    // ......
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addFrameworkStateChangedListener"><span class="type-signature">(static) </span>addFrameworkStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加框架状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line218">line 218</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>frameworkStateChangedListener(framework, previousState, currentState) {
    // ...
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addPluginStateChangedListener"><span class="type-signature">(static) </span>addPluginStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加插件状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line244">line 244</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>pluginStateChangedListener(id, previous, current) {
    // ...
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addPluginStateChangedListener"><span class="type-signature">(static) </span>addPluginStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加插件状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line211">line 211</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>pluginStateChangedListener(id, previous, current) {
    // ...
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addService"><span class="type-signature">(static) </span>addService<span class="signature">(serviceName, serviceInstance, properties<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ServiceRegistry.html">ServiceRegistry</a>}</span></h4>

    



<div class="description">
    注册服务
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line122">line 122</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>serviceName</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>string</code></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">
                服务名称
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>serviceInstance</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Object</code></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last">
                服务实例
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>properties</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Object</code></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    {}
                
                </td>
            

            <td class="description last">
                服务属性，默认会设置相应的插件id、name、version
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="ServiceRegistry.html">ServiceRegistry</a></code></span>


    </dd>
</dl>


<div class="param-desc">
    返回服务注册表
</div>

    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addServiceChangedListener"><span class="type-signature">(static) </span>addServiceChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加服务变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line269">line 269</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>serviceChangedListener(name, action) {
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".addServiceChangedListener"><span class="type-signature">(static) </span>addServiceChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    添加服务变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line234">line 234</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















<div class="section-examples">
<h5>Example</h5>

    <pre class="prettyprint"><code>serviceChangedListener(name, action) {
}</code></pre>

</div>

</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".dispose"><span class="type-signature">(static) </span>dispose<span class="signature">()</span><span class="type-signature"></span></h4>

    



<div class="description">
    清理资源
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line85">line 85</a>
    </li></ul></dd>
    

    

    

    
</dl>























</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".getDefaultService"><span class="type-signature">(static) </span>getDefaultService<span class="signature">(name, properties)</span><span class="type-signature"> &rarr; {Object}</span></h4>

    



<div class="description">
    获取一个默认服务
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line162">line 162</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>string</code></span>


            
            </td>

            

            

            <td class="description last">
                服务名称
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>properties</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Object</code></span>


            
            </td>

            

            

            <td class="description last">
                服务属性过滤 ß
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Object</code></span>


    </dd>
</dl>


<div class="param-desc">
    服务对象
</div>

    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".getExtensions"><span class="type-signature">(static) </span>getExtensions<span class="signature">(id)</span><span class="type-signature"> &rarr; {Set.&lt;<a href="Extension.html">Extension</a>>}</span></h4>

    



<div class="description">
    获取扩展集合
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line183">line 183</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>string</code></span>


            
            </td>

            

            

            <td class="description last">
                
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Set.&lt;<a href="Extension.html">Extension</a>></code></span>


    </dd>
</dl>


<div class="param-desc">
    返回匹配的扩展集合
</div>

    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".getServices"><span class="type-signature">(static) </span>getServices<span class="signature">(name, properties)</span><span class="type-signature"> &rarr; {Array.&lt;<a href="ServiceRegistry.html">ServiceRegistry</a>>}</span></h4>

    



<div class="description">
    获取服务，注意返回的服务不应该没有properties
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line150">line 150</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>string</code></span>


            
            </td>

            

            

            <td class="description last">
                服务名称
                
            </td>
        </tr>

    

        <tr>
            
                <td class="name"><code>properties</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>Object</code></span>


            
            </td>

            

            

            <td class="description last">
                服务属性过滤
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code>Array.&lt;<a href="ServiceRegistry.html">ServiceRegistry</a>></code></span>


    </dd>
</dl>


<div class="param-desc">
    服务对象集合
</div>

    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".installPlugin"><span class="type-signature">(static) </span>installPlugin<span class="signature">(pluginDirectory)</span><span class="type-signature"> &rarr; {<a href="Plugin.html">Plugin</a>}</span></h4>

    



<div class="description">
    安装一个插件
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line204">line 204</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>pluginDirectory</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>string</code></span>


            
            </td>

            

            

            <td class="description last">
                插件目录
                
            </td>
        </tr>

    
    </tbody>
</table>














<div class="section-returns">
<h5>Returns:</h5>

        

<dl class="param-type">
    <dt>
        Type:
    </dt>
    <dd>
        
<span class="param-type"><code><a href="Plugin.html">Plugin</a></code></span>


    </dd>
</dl>


<div class="param-desc">
    插件实例
</div>

    
</div>



</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeExtension"><span class="type-signature">(static) </span>removeExtension<span class="signature">(extension)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除扩展对象
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line193">line 193</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>extension</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="Extension.html">Extension</a></code></span>


            
            </td>

            

            

            <td class="description last">
                扩展实例
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeExtensionChangedListener"><span class="type-signature">(static) </span>removeExtensionChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除扩展变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line306">line 306</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeExtensionChangedListener"><span class="type-signature">(static) </span>removeExtensionChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除扩展变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line268">line 268</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeFrameworkStateChangedListener"><span class="type-signature">(static) </span>removeFrameworkStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除框架状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line229">line 229</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removePluginStateChangedListener"><span class="type-signature">(static) </span>removePluginStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除插件状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line221">line 221</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removePluginStateChangedListener"><span class="type-signature">(static) </span>removePluginStateChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除插件状态监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line255">line 255</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeService"><span class="type-signature">(static) </span>removeService<span class="signature">(serviceRegistry)</span><span class="type-signature"></span></h4>

    



<div class="description">
    卸载服务
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line138">line 138</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>serviceRegistry</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code><a href="ServiceRegistry.html">ServiceRegistry</a></code></span>


            
            </td>

            

            

            <td class="description last">
                服务注册表
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeServiceChangedListener"><span class="type-signature">(static) </span>removeServiceChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除服务变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line280">line 280</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".removeServiceChangedListener"><span class="type-signature">(static) </span>removeServiceChangedListener<span class="signature">(listener)</span><span class="type-signature"></span></h4>

    



<div class="description">
    删除服务变更监听器
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="Minima.js.html">Minima.js</a>, <a href="Minima.js.html#line244">line 244</a>
    </li></ul></dd>
    

    

    

    
</dl>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>listener</code></td>
            

            <td class="type">
            
                
<span class="param-type"><code>function</code></span>


            
            </td>

            

            

            <td class="description last">
                监听器函数
                
            </td>
        </tr>

    
    </tbody>
</table>
















</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".start"><span class="type-signature">(static) </span>start<span class="signature">()</span><span class="type-signature"></span></h4>

    



<div class="description">
    启动上下文
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line316">line 316</a>
    </li></ul></dd>
    

    

    

    
</dl>























</div>
        
            
<div class="section-method">

    

    <h4 class="name" id=".stop"><span class="type-signature">(static) </span>stop<span class="signature">()</span><span class="type-signature"></span></h4>

    



<div class="description">
    停止上下文
</div>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="PluginContext.js.html">PluginContext.js</a>, <a href="PluginContext.js.html#line337">line 337</a>
    </li></ul></dd>
    

    

    

    
</dl>























</div>
        
    

    

    
</article>

</section>




</div>

<br class="clear">

<footer>
    Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Wed Oct 18 2017 23:16:27 GMT+0800 (CST) using the Minami theme.
</footer>

<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
</body>
</html>